package xcmg.device.service.vo.purchase;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * PURCHASE_PRICE
 * @author 
 */
@Data
public class PurchasePriceVO implements Serializable {
    private String id;

    private String orgId;

    private String materialsNo;

    private String materialsDes;

    private String materialsType;

    private String unit;

    private BigDecimal price;

    private String supplierCode;

    private String supplierName;

    private String supplierOrgId;

    private Long supplierClassId;

    private Integer deleteFlag;

    private Integer provisionalPrice;

    private String creatorId;

    private String creatorName;

    private Date createTime;

    private String modifierId;

    private String modifierName;

    private Date modifyTime;

    private String deleteId;

    private String deleteName;

    private Date deleteTime;

    private String replaceMaterialsNo;

    /** 替换零件名称 */
    private String replaceMaterialsDes = "";
    /** 供应商分类名称 */
    private String className = "";

    /** 修改时间查询条件： 开始时间 */
    private Date startUpdateTime;
    /** 修改时间查询条件： 结束时间 */
    private Date endUpdateTime;

    /** excel中报错行数， 用于批量导入 */
    private Integer errorRow;
    /** excel中报错信息，用于批量导入 */
    private String remark;


    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PurchasePriceVO other = (PurchasePriceVO) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getOrgId() == null ? other.getOrgId() == null : this.getOrgId().equals(other.getOrgId()))
            && (this.getMaterialsNo() == null ? other.getMaterialsNo() == null : this.getMaterialsNo().equals(other.getMaterialsNo()))
            && (this.getMaterialsDes() == null ? other.getMaterialsDes() == null : this.getMaterialsDes().equals(other.getMaterialsDes()))
            && (this.getMaterialsType() == null ? other.getMaterialsType() == null : this.getMaterialsType().equals(other.getMaterialsType()))
            && (this.getUnit() == null ? other.getUnit() == null : this.getUnit().equals(other.getUnit()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
            && (this.getSupplierCode() == null ? other.getSupplierCode() == null : this.getSupplierCode().equals(other.getSupplierCode()))
            && (this.getSupplierName() == null ? other.getSupplierName() == null : this.getSupplierName().equals(other.getSupplierName()))
            && (this.getSupplierOrgId() == null ? other.getSupplierOrgId() == null : this.getSupplierOrgId().equals(other.getSupplierOrgId()))
            && (this.getSupplierClassId() == null ? other.getSupplierClassId() == null : this.getSupplierClassId().equals(other.getSupplierClassId()))
            && (this.getDeleteFlag() == null ? other.getDeleteFlag() == null : this.getDeleteFlag().equals(other.getDeleteFlag()))
            && (this.getCreatorId() == null ? other.getCreatorId() == null : this.getCreatorId().equals(other.getCreatorId()))
            && (this.getCreatorName() == null ? other.getCreatorName() == null : this.getCreatorName().equals(other.getCreatorName()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getModifierId() == null ? other.getModifierId() == null : this.getModifierId().equals(other.getModifierId()))
            && (this.getModifierName() == null ? other.getModifierName() == null : this.getModifierName().equals(other.getModifierName()))
            && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()))
            && (this.getDeleteId() == null ? other.getDeleteId() == null : this.getDeleteId().equals(other.getDeleteId()))
            && (this.getDeleteName() == null ? other.getDeleteName() == null : this.getDeleteName().equals(other.getDeleteName()))
            && (this.getDeleteTime() == null ? other.getDeleteTime() == null : this.getDeleteTime().equals(other.getDeleteTime()))
            && (this.getReplaceMaterialsNo() == null ? other.getReplaceMaterialsNo() == null : this.getReplaceMaterialsNo().equals(other.getReplaceMaterialsNo()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getOrgId() == null) ? 0 : getOrgId().hashCode());
        result = prime * result + ((getMaterialsNo() == null) ? 0 : getMaterialsNo().hashCode());
        result = prime * result + ((getMaterialsDes() == null) ? 0 : getMaterialsDes().hashCode());
        result = prime * result + ((getMaterialsType() == null) ? 0 : getMaterialsType().hashCode());
        result = prime * result + ((getUnit() == null) ? 0 : getUnit().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        result = prime * result + ((getSupplierCode() == null) ? 0 : getSupplierCode().hashCode());
        result = prime * result + ((getSupplierName() == null) ? 0 : getSupplierName().hashCode());
        result = prime * result + ((getSupplierOrgId() == null) ? 0 : getSupplierOrgId().hashCode());
        result = prime * result + ((getSupplierClassId() == null) ? 0 : getSupplierClassId().hashCode());
        result = prime * result + ((getDeleteFlag() == null) ? 0 : getDeleteFlag().hashCode());
        result = prime * result + ((getCreatorId() == null) ? 0 : getCreatorId().hashCode());
        result = prime * result + ((getCreatorName() == null) ? 0 : getCreatorName().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getModifierId() == null) ? 0 : getModifierId().hashCode());
        result = prime * result + ((getModifierName() == null) ? 0 : getModifierName().hashCode());
        result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
        result = prime * result + ((getDeleteId() == null) ? 0 : getDeleteId().hashCode());
        result = prime * result + ((getDeleteName() == null) ? 0 : getDeleteName().hashCode());
        result = prime * result + ((getDeleteTime() == null) ? 0 : getDeleteTime().hashCode());
        result = prime * result + ((getReplaceMaterialsNo() == null) ? 0 : getReplaceMaterialsNo().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orgId=").append(orgId);
        sb.append(", materialsNo=").append(materialsNo);
        sb.append(", materialsDes=").append(materialsDes);
        sb.append(", materialsType=").append(materialsType);
        sb.append(", unit=").append(unit);
        sb.append(", price=").append(price);
        sb.append(", supplierCode=").append(supplierCode);
        sb.append(", supplierName=").append(supplierName);
        sb.append(", supplierOrgId=").append(supplierOrgId);
        sb.append(", supplierClassId=").append(supplierClassId);
        sb.append(", deleteFlag=").append(deleteFlag);
        sb.append(", creatorId=").append(creatorId);
        sb.append(", creatorName=").append(creatorName);
        sb.append(", createTime=").append(createTime);
        sb.append(", modifierId=").append(modifierId);
        sb.append(", modifierName=").append(modifierName);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", deleteId=").append(deleteId);
        sb.append(", deleteName=").append(deleteName);
        sb.append(", deleteTime=").append(deleteTime);
        sb.append(", replaceMaterialsNo=").append(replaceMaterialsNo);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}
